
package Datos;

import Negocio.Producto;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


public class ProductoDB {
    
    public boolean grabar(Producto producto) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into producto(nombre, cantidad, precio) values('"+producto.getNombre()+"', "+producto.getCantidad()+ ", " + producto.getPrecio() + ")";        
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
    public int modificar(Producto producto) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="update producto set nombre='" + producto.getNombre() + "', cantidad=" + producto.getCantidad() + ", precio ="  + producto.getPrecio() +  " where id=" + producto.getId();
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public int eliminar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from producto where id =" + id;
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public Producto buscar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from producto where id =" + id;        
        ResultSet resultado = db.seleccion(query);
        Producto prod=null;
        if (resultado!=null) {
            resultado.next();
            prod = new Producto();
            prod.setId(resultado.getInt("id"));           
            prod.setNombre(resultado.getString("nombre"));
            prod.setCantidad(resultado.getInt("cantidad"));
            prod.setPrecio(resultado.getDouble("precio"));
      } 
        db.cerrarConexion();
        return prod;
        
    }
    public ArrayList listar() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from producto ";
        ResultSet resultado = db.seleccion(query);
        Producto producs=null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            producs = new Producto();
            producs.setId(resultado.getInt(1));
            producs.setNombre(resultado.getString(2));
            producs.setCantidad(resultado.getInt(3));
            producs.setPrecio(resultado.getDouble(4));
            todos.add(producs);
        }
        db.cerrarConexion();
        return todos;
    }
}
